package dto

// UserLoginDTO 用户登录DTO
type UserLoginDTO struct {
	LoginName    string `json:"loginName" binding:"required"`
	UserPassword string `json:"userPassword" binding:"required"`
	DeviceInfo   string `json:"deviceInfo"`
}

// UserRegisterDTO 用户注册DTO
type UserRegisterDTO struct {
	UserName  string `json:"userName" binding:"required"`
	Password  string `json:"password" binding:"required"`
	LoginName string `json:"loginName" binding:"required"`
	Email     string `json:"email" binding:"required"`
	Phone     string `json:"phone" binding:"required"`
	Avatar    string `json:"avatar"`
	Sex       uint8  `json:"sex" binding:"required"`
	Age       uint8  `json:"age" binding:"required"`
	Status    int8   `json:"status" binding:"required"`
	Roles     []uint `json:"roles" binding:"required"`
}

// UserLoginInfoDTO 用户登录信息DTO
type UserLoginInfoDTO struct {
	ID        uint   `json:"id"`
	UserName  string `json:"userName" `
	LoginName string `json:"loginName" `
	Avatar    string `json:"avatar"`
}

// UserQueryDTO 赛选查询用户DTO
type UserQueryDTO struct {
	UserName  string `json:"userName" `
	LoginName string `json:"loginName" `
	Email     string `json:"email" `
	Phone     string `json:"phone" `
	RoleName  string `json:"roleName" `
	Status    int8   `json:"status" `
	Page      int    `json:"page"`
	PageSize  int    ` json:"pageSize"`
}

// UpdateUserDTO 更新用户信息DTO
type UpdateUserDTO struct {
	ID        uint   `json:"ID" binding:"required"`
	UserName  string `json:"userName" binding:"required"`
	Password  string `json:"password" binding:"required"`
	LoginName string `json:"loginName" binding:"required"`
	Email     string `json:"email" binding:"required"`
	Phone     string `json:"phone" binding:"required"`
	Sex       uint8  `json:"sex" `
	Age       uint8  `json:"age"`
	Status    int8   `json:"status"`
	Roles     []uint `json:"roles" binding:"required"`
}

type DelUserByIDsReq struct {
	Ids []uint `json:"ids"`
}

type UpdateUserInfoDTO struct {
	ID        string `json:"ID"`
	UserName  string `json:"userName"`
	LoginName string `json:"loginName"`
	Email     string `json:"email"`
	Phone     string `json:"phone"`
	Sex       uint8  `json:"sex"`
	Age       uint8  `json:"age"`
	Password  string `json:"password"`
}
